import gmpy2
import libnum
import uuid

flag = "flag{" + str(uuid.uuid4()) + "}"
print(flag)
m = libnum.s2n(flag)
p = libnum.generate_prime(1024)
q = libnum.generate_prime(1024)
e = 65537
n = p * q
phi = (p - 1) * (q - 1)
d = gmpy2.invert(e, phi)
dp = d % (p - 1)
c = pow(m, e, n)
print("n=", n)
print("e=", e)
print("c=", c)
print("dp=", dp)

n= 9989510031340045693383058748304821594133871517337480893729973310738524234340097811821172456601486129422433297946948354738910911767165475640603734438946113461276259210579005793120936678866779222469856954887700201378884763852887512760599610333169272386392556056075638854293788211385950415217857261216732591313710401515164177283326100642620362983636520095442302009590828464482157836425879497181822480154067261157332013557706585202483989029488133422515714586513012929368752506098380136658438777911009149687811685136125030670532027797534370835552165326231691926015844584214492773214538859132194708706263814230455250401229
e= 65537
c= 4760863873766579885883067714576992812051637016355533136392485509340763484929084260242955790005290056495936101425621994889617722162609161078431069700211895625503437067225348390431970941344943563318118008183117915472676075821657135960585612693448836240670550753452213797419530059966096208002777684724188185607210363568696770137545756361723975614670908984790207413943150862736932720126914374601434281189449207020607521455970771422940756382307766463928989747979399373285092904213734579770883456340415887498552052029954704188385411110166483146908971910963493285096242330730747582457861910193477837946238020146721465716473
dp= 16090569475403409026296780855022487450116878489977605906094669247555164275376506711444293124975829332338134162306069384369331342536727061561828388070609953238535815554978626298137011338415353409476624706220245763849524177585633077554557153973233934877198890973227413477474130417240520191670621371987863785893
